/*!
 @header OrderListViewController.h
 @author 王 文彬
 @version 1.0.0 2013/02/04 Creation
 Copyright (c) 2013年 mypocketbaby. All rights reserved.
 */

#import <UIKit/UIKit.h>
#import "JSONRequest.h"
#import "Config.h"

/*!
 @abstract OrderListViewController以列表的形式显示了订单的基本信息，包括交易时间、总价、配送方式、商品信息等。
 */
@interface OrderListViewController : UITableViewController <JSONRequestDelegate>
{
    OrderListType     _orderListType;           //订单类型
    BusinessType      _businessType;
    NSMutableArray*   _dataSource;              //订单数据源
    NSInteger         _currentRow;              //对应数据源的index，用户在点击某个cell上的按钮时，需要此cell对应的订单信息，通过_currentRow来记录。
    NSDictionary*     _currentOperateOrder;    //当前操作的的订单。最好用此替代_currentRow，然后通过_currentRow来从dataSource里面取订单信息的方式。因为在1.7.7版本增加了确认收货后，去评论的代码，通过_currentRow取订单id的形式，会导致错误的获取到未发货的订单数据
    UITextView*       _reasonTextView;          //待确认收货、待发货中取消原因textview
    NSString*         _successTitle;            //用于保存某一个退货、退款请求、确认请求成功后的提示信息
    UIImageView* _blankPage;                    //数据源为空时，显示友好的空页面

    NSString*     _company;        //物流公司全局，记录下填写的物流公司，然后的alertview实例装入，方便用户。请求发送后，清空
    NSString*     _no;             //物流单号全局，记录下填写的号码，然后的alertview实例装入，方便用户。请求发送后，清空
    UIButton*     _remindButton;   //记录哪个提醒按钮被点击，用于提醒成功后，隐藏这个提醒按钮
    NSMutableArray* _remindButtonHiddenRecords;  //记录那些订单的提醒按钮是被隐藏的。由于cell被复用，虽然每次点击后，立即隐藏，但是复用后又被打开。因此要记录下来，复用前遍历检查
}

/*!
 @abstract 订单类型包括待付款、待发货、待收货、历史成功、待退款和待退货订单
 */
@property (assign, nonatomic) OrderListType orderListType;

- (id)initWithBusinessType:(BusinessType)businessType andOrderListType:(OrderListType)listType;

@end
